// 导航调试脚本
// 在浏览器控制台中运行此脚本来测试导航功能

console.log('=== 导航调试开始 ===');

// 1. 检查路由配置
console.log('1. 检查当前路由:', window.location.href);
console.log('2. 检查Vue Router实例:', window.$router || 'Vue Router未找到');

// 2. 模拟创建应用流程
async function testCreateApp() {
  console.log('3. 开始测试创建应用流程...');
  
  // 检查登录状态
  const loginStore = window.$pinia?.state?.value?.loginUser;
  console.log('4. 登录状态:', loginStore);
  
  if (!loginStore?.loginUser?.id) {
    console.warn('用户未登录，无法测试创建应用');
    return;
  }
  
  // 模拟API调用
  try {
    console.log('5. 模拟调用创建应用API...');
    
    const mockResponse = {
      data: {
        code: 200,
        data: 123, // 模拟应用ID
        message: '创建成功'
      }
    };
    
    console.log('6. 模拟API响应:', mockResponse);
    
    // 测试路由跳转
    const targetRoute = `/app/chat/${mockResponse.data.data}`;
    console.log('7. 准备跳转到:', targetRoute);
    
    // 检查路由是否存在
    const router = window.$router;
    if (router) {
      console.log('8. 执行路由跳转...');
      await router.push(targetRoute);
      console.log('9. 路由跳转完成，当前路径:', window.location.pathname);
    } else {
      console.error('Vue Router实例未找到');
    }
    
  } catch (error) {
    console.error('测试过程中出错:', error);
  }
}

// 3. 检查API端点
async function testAPIEndpoint() {
  console.log('10. 测试API端点连接...');
  
  try {
    // 测试创建应用API
    const response = await fetch('/api/app/add', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        appName: '测试应用',
        initPrompt: '这是一个测试'
      })
    });
    
    console.log('11. API响应状态:', response.status);
    console.log('12. API响应头:', response.headers);
    
    if (response.ok) {
      const data = await response.json();
      console.log('13. API响应数据:', data);
    } else {
      console.error('API请求失败:', response.statusText);
    }
    
  } catch (error) {
    console.error('API请求异常:', error);
  }
}

// 4. 检查SSE端点
function testSSEEndpoint() {
  console.log('14. 测试SSE端点...');
  
  const testAppId = 1;
  const testMessage = '测试消息';
  const sseUrl = `/api/app/chat/genCode?appId=${testAppId}&userMessage=${encodeURIComponent(testMessage)}`;
  
  console.log('15. SSE URL:', sseUrl);
  
  try {
    const eventSource = new EventSource(sseUrl);
    
    eventSource.onopen = () => {
      console.log('16. SSE连接已建立');
      eventSource.close();
    };
    
    eventSource.onmessage = (event) => {
      console.log('17. SSE消息:', event.data);
      eventSource.close();
    };
    
    eventSource.onerror = (error) => {
      console.error('18. SSE连接错误:', error);
      eventSource.close();
    };
    
    // 5秒后关闭连接
    setTimeout(() => {
      eventSource.close();
      console.log('19. SSE测试完成');
    }, 5000);
    
  } catch (error) {
    console.error('SSE测试异常:', error);
  }
}

// 执行所有测试
console.log('开始执行导航调试测试...');
testCreateApp();
testAPIEndpoint();
testSSEEndpoint();

console.log('=== 导航调试脚本加载完成 ===');
console.log('请在浏览器中手动测试以下步骤：');
console.log('1. 确保已登录');
console.log('2. 在首页输入框中输入测试内容');
console.log('3. 点击"开始创建"按钮');
console.log('4. 观察控制台输出和页面跳转');